home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d27 / mkdrv20.arc / CKDRV20.DOC < prev    next >
Text File  |  1990-11-02  |  15KB  |  368 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.                                   CKDRIVE.COM 
  10.                                   Version 2.0 
  11.              
  12.                Memory-Resident Driver for Add-On Computer Clocks 
  13.              
  14.              
  15.              
  16.              
  17.             IMPROVEMENTS IN THIS VERSION: 
  18.              
  19.                  Version 2.0 of CKDRIVE eliminates limitations of 
  20.                  version 1.0 that required manual resetting for a 
  21.                  new year or a leap year.  The program now (1) 
  22.                  advances the year automatically after midnight 
  23.                  December 31 and (2) advances the date to February 
  24.                  29 instead of March 1 in leap years.  Other 
  25.                  changes improve synchronization between the add-on
  26.                  clock and the system clock; they now agree within
  27.                  about .01 sec.
  28.              
  29.              
  30.              
  31.             AUTHOR:        Pete Petrakis 
  32.             COMPANY:       Life Sciences Software 
  33.                            2020 Lake Heights Drive, R-301 
  34.                            Everett, Washington 98208 
  35.              
  36.             DISTRIBUTION:  Distributed as shareware, which means 
  37.                            "try before you buy," not "free."  
  38.                            Payment of $5 is required if you find 
  39.                            after 21 days that CKDRIVE meets your 
  40.                            needs.  Please send your payment (check 
  41.                            or money order) to the above address,
  42.                            or call us at 206-337-7328 if you want
  43.                            to register with a MasterCard or VISA.
  44.              
  45.              
  46.             DESCRIPTION: 
  47.              
  48.                  CKDRIVE is a memory-resident program that allows 
  49.                  battery-powered add-on clocks to be set with the 
  50.                  TIME and DATE commands in DOS.  It also 
  51.                  automatically updates the DOS clock/calendar an 
  52.                  instant before the time and date are displayed 
  53.                  whenever you use DOS's TIME or DATE command or are 
  54.                  running a program that reads the time and date. 
  55.              
  56.                  CKDRIVE eliminates the need to run special 
  57.                  clocksetting programs such as SETCLOCK (to set the 
  58.                  add-on clock) and GETCLOCK (to refresh the DOS 
  59.                  clock/calendar from the add-on clock).  Whenever 
  60.                  you want to change the time or date in your add- 
  61.  
  62.                                            1
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.                  on clock, just change the time or date in DOS, and 
  71.                  CKDRIVE will automatically pass the change along 
  72.                  to the add-on clock.  Whenever you want to know 
  73.                  the time or date in DOS, just ask for it in DOS, 
  74.                  and CKDRIVE will refresh the DOS clock/calendar 
  75.                  from the add-on clock an instant before the time 
  76.                  or date is displayed on your screen. 
  77.              
  78.                  It's important to understand what is meant here by 
  79.                  an add-on clock. Although the so-called slotless 
  80.                  clocks, which plug into a ROM chip socket in your 
  81.                  computer, are also add-on clocks, they are not the 
  82.                  kind that CKDRIVE can work with.  Nor will it work 
  83.                  with the CMOS clock, which is a battery clock but 
  84.                  not an add-on, and is an integral part of the 
  85.                  original equipment in AT and better computers. 
  86.              
  87.                  The add-on clock that CKDRIVE is designed to work 
  88.                  with is the type that comes on a circuit board 
  89.                  that plugs into an expansion slot in your 
  90.                  computer.  Although some of these clocks, such as 
  91.                  the one on the AST and Paradise multifunction 
  92.                  cards, come from well known manufacturers, the 
  93.                  clock-only type are typically quite inexpensive, 
  94.                  with mail order prices ranging from $7.50 to $15, 
  95.                  and very often neither the card nor the box it 
  96.                  came in even has a manufacturer's name on it. 
  97.              
  98.                  For example, the box mine came in says only, "Add- 
  99.                  On Card for '88 or '286 Personal Computer" and 
  100.                  "Made in China."  The word "clock" doesn't appear 
  101.                  anywhere on the box and there is not a shred of 
  102.                  documentation.  The label on the diskette has only 
  103.                  the handwritten letters, "CK," which presumably is 
  104.                  an abbreviation for "CLOCK."  That's the type of 
  105.                  clock CKDRIVE is designed for, and what is meant 
  106.                  here by "add-on clock."  Despite its generic 
  107.                  nature, this cheap real-time clock is quite 
  108.                  accurate (as computer clocks go) and can track 
  109.                  time to the millisecond (DOS can only display or 
  110.                  set time to 1/100 second). 
  111.              
  112.                  Interestingly, the cheap no-name generic imports 
  113.                  and the brand-name clock boards use the same type 
  114.                  of clock chip and usually the same set of I/O 
  115.                  ports.  The base port is typically 240 hex, 2C0 
  116.                  hex, or 340 hex (occasionally 3C0 hex) and most of 
  117.                  the boards allow you to select from a pair of 
  118.                  these port addresses (usually 240 hex and 340 hex) 
  119.                  by moving a jumper.  When CKDRIVE is loaded, it 
  120.                  checks to see which port addresses your add-on 
  121.                  clock is using and configures itself accordingly 
  122.  
  123.                                            2
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.                  for memory-resident operation.  If it finds no 
  132.                  add-on clock at any of the four likely base ports, 
  133.                  it reports that and quits. 
  134.              
  135.                  Some of the better known brands of add-on clocks, 
  136.                  such as the one on the AST Six-Pack, come with 
  137.                  their own memory-resident driver software.  AST's 
  138.                  driver is called ASTCLOCK, which goes memory- 
  139.                  resident when you run it with /R on the command 
  140.                  line.  If your add-on clock came with that kind of 
  141.                  software, you won't need CKDRIVE, although you 
  142.                  could probably substitute CKDRIVE for the original 
  143.                  driver software.  If yours didn't come with that 
  144.                  kind of software, then CKDRIVE is for you. 
  145.              
  146.              
  147.             RUNNING THE PROGRAM: 
  148.              
  149.                  Type CKDRIVE at the DOS prompt, preferably 
  150.                  immediately after boot-up.  The first thing 
  151.                  CKDRIVE does when it's loaded is reset the DOS 
  152.                  clock/calendar from the add-on clock.  Thereafter, 
  153.                  your DOS clock/calendar and your add-on clock will 
  154.                  behave as a single clock, passing time and date to 
  155.                  each other as needed.  It's advisable to put 
  156.                  CKDRIVE in your AUTOEXEC.BAT file so it can reset 
  157.                  the DOS clock/calendar from the battery clock 
  158.                  whenever you boot the system.  Obviously it should 
  159.                  go ahead of any program in the AUTOEXEC sequence 
  160.                  that needs to check the DOS time and date. 
  161.              
  162.                  When loaded memory-resident, CKDRIVE takes less than
  163.                  7k of RAM. 
  164.              
  165.              
  166.             AUTOMATIC YEAR ADVANCE AND LEAP YEAR ADJUSTMENT: 
  167.              
  168.                  Version 2.0 of CKDRIVE will automatically advance 
  169.                  the year in both the add-on clock and the DOS 
  170.                  clock/calendar the first time you request the date 
  171.                  in January -- provided you requested the date at 
  172.                  least once with CKDRIVE installed during the 
  173.                  previous month.  After midnight February 28 in a 
  174.                  leap year it will automatically set the date to 
  175.                  February 29 in both clocks -- provided you 
  176.                  requested the date at least once with CKDRIVE 
  177.                  installed between January 1 and February 28.  
  178.                  (Requesting the date during those preliminary 
  179.                  periods is practically unavoidable; you 
  180.                  automatically request the date every time you save 
  181.                  a file to disk, for example.) 
  182.              
  183.  
  184.                                            3
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.             SYNCHRONIZATION ACCURACY: 
  194.              
  195.                  When you set or read the time and date from DOS 
  196.                  with CKDRIVE 2.0 loaded, the two clocks should 
  197.                  agree within about .01 second, according to tests 
  198.                  on my 8086 computer.  However, agreement between 
  199.                  the two clocks thereafter will depend on two 
  200.                  factors:  (1) the relative drift rates of the two 
  201.                  clocks and (2) the frequency of setting or reading 
  202.                  the time.  Remember that all computer clocks 
  203.                  drift, including DOS clock/calendars, battery- 
  204.                  operated add-ons, and CMOS clocks.  So, if the 
  205.                  add-on clock drifts a few seconds a day, its 
  206.                  deviation from the true time will be passed to the 
  207.                  DOS clock/calendar whenever you ask for the time; 
  208.                  the two clocks will then agree, but both will 
  209.                  deviate from true time to the extent that the add- 
  210.                  on clock does.   
  211.              
  212.              
  213.             KNOWN INCOMPATIBILITIES: 
  214.              
  215.                  If CKDRIVE is loaded, you should NEVER use the 
  216.                  original software that came with your add-on clock 
  217.                  for reading and setting it.  If you do, the hours, 
  218.                  minutes, seconds, fractions of seconds, month, and 
  219.                  day of the month will probably be OK, but the year 
  220.                  will probably be read or set wrong, from CKDRIVE's 
  221.                  perspective.  The reason is that the three ports 
  222.                  available for year information in these clocks are 
  223.                  for passive storage and are not controlled by the clock
  224.                  chip, allowing each software developer to devise his
  225.                  own method of storing and retrieving that information.
  226.                  Every program, including CKDRIVE, stores and reads 
  227.                  information about years differently, so you should 
  228.                  always read these clocks with the same software or 
  229.                  software brand you used to set them.  Besides, you 
  230.                  won't need any of that software if you use 
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.                                            4
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.                  CKDRIVE; its purpose is to make those separate 
  254.                  programs unnecessary. 
  255.              
  256.                  Use only one clock driver at a time.  If you 
  257.                  already have a driver that does what CKDRIVE does, 
  258.                  there is no need to load CKDRIVE too.  There will 
  259.                  be trouble if you do; competition between the two 
  260.                  drivers can slow things down dramatically. 
  261.              
  262.                  The Microsoft BASIC Professional Development 
  263.                  System (version 7.0 of QuickBASIC) is incompatible 
  264.                  with CKDRIVE.  This is disappointing but not 
  265.                  surprising since Microsoft recommends that no 
  266.                  memory-resident programs at all be present when 
  267.                  running that version of QuickBASIC.  No system 
  268.                  crash results when QuickBASIC 7 is loaded after 
  269.                  CKDRIVE and the two clocks will continue to run, 
  270.                  but each will be oblivious to the other 
  271.                  thereafter.  QuickBASIC 7 messes things up so the 
  272.                  two clocks can no longer communicate with each 
  273.                  other through CKDRIVE, and you'll have to reboot 
  274.                  and reload CKDRIVE to get that interaction again. 
  275.              
  276.                  Finally, conflicts between memory-resident 
  277.                  programs are a fact of life, and they may require 
  278.                  you to modify the sequence in which such programs 
  279.                  are loaded. 
  280.              
  281.              
  282.             PROGRAM HISTORY: 
  283.              
  284.                  CKDRIVE.COM was inspired by CLKDRV10.SYS, a driver 
  285.                  for slot-type add-on clocks that is loaded as a 
  286.                  device in the CONFIG.SYS file and was written by 
  287.                  my friend Tom Strickland of Alexandria, Virginia.  
  288.                  Tom's driver is part of my TIMESET 5.3 package 
  289.                  (TSET53.EXE in Library 1 of Compuserve's IBMSYS 
  290.                  forum, Library 2 in the MSOPSYS forum, or 
  291.                  TIMSET53.ZIP, .ARC, etc. on bulletin boards around 
  292.                  the country). 
  293.              
  294.                  Tom programs in assembly and C.  I program in 
  295.                  BASIC and wanted to see if I too could write a 
  296.                  driver for these clocks using Microsoft's BASIC 
  297.                  Professional Development System (BASIC 7.0) and 
  298.                  linkable assembly routines from MicroHelp, Inc. 
  299.                  and Crescent Software, as well as some special 
  300.                  purpose assembly routines that I wrote.  Crescent 
  301.                  Software's P.D.Q. replacement library for 
  302.                  QuickBASIC is mainly responsible for the program's 
  303.                  small size (for a BASIC program) and its being a 
  304.                  TSR. 
  305.  
  306.                                            5
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.              
  315.                  How do the two drivers compare?  Surprisingly 
  316.                  well.  With my 8086 computer, the DOS clock and 
  317.                  the add-on clock usually agree within 0.01 sec,
  318.                  making version 2.0 of CKDRIVE.COM precise enough
  319.                  to be used with TIMESET.
  320.              
  321.              
  322.             DISTRIBUTION AND DISCLAIMER: 
  323.              
  324.                  You can distribute CKDRIVE.COM to anyone you want 
  325.                  provided you do not charge money for it (that's my
  326.                  department) and do not separate it from this document.
  327.                  Use of the program is at your own risk.  Pete Petrakis
  328.                  does not claim that the program will work for everybody 
  329.                  and he accepts no responsibility or liability for 
  330.                  anything that might go wrong. 
  331.              
  332.  
  333.                              PLEASE DON'T FORGET TO REGISTER
  334.  
  335.             Pete Petrakis 
  336.             Everett, Washington 
  337.             November 2, 1990 
  338.             CIS 76555,1175 
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.                                            6
  368.